package com.ls.rbac.service;

import com.ls.rbac.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
/**
 * @author liusheng
 * @since 2025--06--28
 */
public interface IUserService extends IService<User> {

    User getUserByUsername(String username);
    /**
     * 分页查询部门下的用户
     */
    IPage<User> pageUsersByDeptId(Page<User> page, User user, Integer deptId);

    /**
     * 新增用户
     */
    boolean addUser(User user, List<Integer> roleIds);

    /**
     * 更新用户
     */
    boolean updateUser(User user, List<Integer> roleIds);

    /**
     * 删除用户
     */
    boolean deleteUser(Integer userId);

    /**
     * 重置用户密码
     */
    String resetPassword(Integer userId);
    void assignRolesToUser(Integer userId, List<Integer> roleIds);
    List<User> pageUsersByDeptId(Integer deptId);

}
